package com.kclmedu.feign.service;

import com.kclmedu.feign.service.impl.ScheduleServiceHiHystrix;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

/*************************
 *@ClassName ScheduleServiceHi
 *@Description 预计划的服务Hi, 此接口通过 Feign 来直接调用目标微服务的实例
 *@Author yejf
 *@Date 2019-12-01 22:39
 *@Version 1.0
 */
@FeignClient(value = "eureka-client-hi", fallback = ScheduleServiceHiHystrix.class)  //这里必需要指定调用的服务名【也就是服务的项目中application.yml中定义的名字】
public interface ScheduleServiceHi {

    //这里是要给目标服务发送请求的，类似于： template.getForObject("http://eureka-client-hi/hi?name="+name, String.class)
    //上面通过 FeignClients 注解指定了目标服务
    //下面通过 RequestMappin指定的请求的url 和  method 以及请求参数 name
    @RequestMapping(value = "/hi", method = RequestMethod.GET)
    String responseFromClientHi(@RequestParam(value = "name") String name) ;

}
